package com.hpli.infrastructure.persistent.po;

import java.util.Date;

/**
 * Table: strategy_rule
 */
public class StrategyRule {
    /**
     * Column: id
     * Type: BIGINT UNSIGNED
     * Remark: 自增ID
     */
    private Long id;

    /**
     * Column: strategy_id
     * Type: INT
     * Remark: 抽奖策略ID
     */
    private Integer strategyId;

    /**
     * Column: award_id
     * Type: INT
     * Remark: 抽奖奖品ID【规则类型为策略，则不需要奖品ID】
     */
    private Integer awardId;

    /**
     * Column: rule_type
     * Type: BIT
     * Default value: 0
     * Remark: 抽象规则类型；1-策略规则、2-奖品规则
     */
    private Boolean ruleType;

    /**
     * Column: rule_model
     * Type: VARCHAR(16)
     * Remark: 抽奖规则类型【rule_random - 随机值计算、rule_lock - 抽奖几次后解锁、rule_luck_award - 幸运奖(兜底奖品)】
     */
    private String ruleModel;

    /**
     * Column: rule_value
     * Type: VARCHAR(256)
     * Remark: 抽奖规则比值
     */
    private String ruleValue;

    /**
     * Column: rule_desc
     * Type: VARCHAR(128)
     * Remark: 抽奖规则描述
     */
    private String ruleDesc;

    /**
     * Column: create_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 创建时间
     */
    private Date createTime;

    /**
     * Column: update_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 更新时间
     */
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getStrategyId() {
        return strategyId;
    }

    public void setStrategyId(Integer strategyId) {
        this.strategyId = strategyId;
    }

    public Integer getAwardId() {
        return awardId;
    }

    public void setAwardId(Integer awardId) {
        this.awardId = awardId;
    }

    public Boolean getRuleType() {
        return ruleType;
    }

    public void setRuleType(Boolean ruleType) {
        this.ruleType = ruleType;
    }

    public String getRuleModel() {
        return ruleModel;
    }

    public void setRuleModel(String ruleModel) {
        this.ruleModel = ruleModel == null ? null : ruleModel.trim();
    }

    public String getRuleValue() {
        return ruleValue;
    }

    public void setRuleValue(String ruleValue) {
        this.ruleValue = ruleValue == null ? null : ruleValue.trim();
    }

    public String getRuleDesc() {
        return ruleDesc;
    }

    public void setRuleDesc(String ruleDesc) {
        this.ruleDesc = ruleDesc == null ? null : ruleDesc.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}